﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Kcadastro.classes;

namespace Kcadastro.adm
{
    public partial class empresas_edit : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //TODO: BEGIN Seleciona Link Serviços
            if (this.Master is kcadastro)
            {
                ((kcadastro)this.Page.Master).SelecionaPagina(FW.utils.enumPaginas.NovaEmpresa);
            }
            //TODO:END
            masterPageKcad m = Master as masterPageKcad;
            m.idFerr = 6;
            if (!IsPostBack)
            {
                if (Session["IDeemp"] != null)
                {
                    if (Session["IDeemp"].ToString() != "")
                    {
                        tbi_emp.Text = Session["IDeemp"].ToString();
                        carregar();
                    }
                    else
                    {
                        tbi_emp.Text = "0";
                    }
                }
                else
                {
                    tbi_emp.Text = "0";
                }
            }
        }

        private void carregar()
        {
            bt_gravar.Enabled = false;
            empresas emps = new empresas();
            tb_empresa te = emps.dadosEmpresa(Convert.ToInt16(tbi_emp.Text));
            if (te != null)
                if (te.PK_IDemp != 0)
                {
                    tbi_emp.Text = te.PK_IDemp.ToString();
                    tb_cnpj.Text = te.CNPJ;
                    tb_cep.Text = te.CEP;
                    tb_cidade.Text = te.cidade;
                    tb_cnaedescri.Text = te.CNAEdescri;
                    tb_cnjdescri.Text = te.CNJdescri;
                    tb_complemento.Text = te.complemento;
                    tb_contato.Text = te.contato.ToString();
                    tb_emailCob.Text = te.emailcob.ToString();
                    tb_emailContata.Text = te.emailcontato.ToString();
                    tb_fantasia.Text = te.fantasia;
                    tb_logradouro.Text = te.endereco;
                    tb_numero.Text = te.numero;
                    tb_rs.Text = te.RS;
                    tb_site.Text = te.url;
                    tb_telcontato.Text = te.telefone;
                    tb_uf.Text = te.UF;
                    tb_bairro.Text = te.bairro;
                    tb_valorContrato.Text = ((decimal)te.contratoValor).ToString();
                    tb_qtdcontratada.Text = te.contratoQtd.ToString();
                    dd_tipoCOntrato.SelectedIndex = dd_tipoCOntrato.Items.IndexOf(dd_tipoCOntrato.Items.FindByValue(te.contratoTipo.ToString()));

                    bt_consultar.Enabled = false;
                    bt_gravar.Enabled = true;

                    gv_lista.DataSource = emps.listarUsuariosEmpresa(te.PK_IDemp);
                    gv_lista.DataBind();
                }
            emps = null;
        }

        protected void bt_consultar_Click(object sender, EventArgs e)
        {
            lt_msgcnpj.Text = "";
            if (FW.validador.ValidaCnpj(tb_cnpj.Text))
            {
                empresas emps = new empresas();
                tb_empresa te = emps.dadosEmpresa(emps.encontrarCNPJ(tb_cnpj.Text));
                if (te.PK_IDemp != 0)
                {
                    tbi_emp.Text = te.PK_IDemp.ToString();
                    tb_cep.Text = te.CEP;
                    tb_cidade.Text = te.cidade;
                    tb_cnaedescri.Text = te.CNAEdescri;
                    tb_cnjdescri.Text = te.CNJdescri;
                    tb_complemento.Text = te.complemento;
                    tb_contato.Text = te.contato.ToString();
                    tb_emailCob.Text = te.emailcob.ToString();
                    tb_emailContata.Text = te.emailcontato.ToString();
                    tb_fantasia.Text = te.fantasia;
                    tb_logradouro.Text = te.endereco;
                    tb_numero.Text = te.numero;
                    tb_rs.Text = te.RS;
                    tb_site.Text = te.url;
                    tb_telcontato.Text = te.telefone;
                    tb_uf.Text = te.UF;
                    tb_bairro.Text = te.bairro;
                    bt_consultar.Enabled = false;
                    bt_gravar.Enabled = true;
                }
                else
                {
                    lt_msgcnpj.Text = string.Format("<font color=\"red\">Este CNPJ não foi encontrado na Receita Federal. {0}</font><br />", emps.MSG);
                }

                emps = null;
            }
            else
            {
                lt_msgcnpj.Text = "<font color=\"red\">Este não é um CNPJ válido</font><br />";
            }
        }

        protected void bt_gravar_Click(object sender, EventArgs e)
        {
            tb_empresa te = new tb_empresa();
            te.PK_IDemp = Convert.ToInt32(tbi_emp.Text);
            te.bairro = tb_bairro.Text;
            te.CEP = tb_cep.Text;
            te.cidade = tb_cidade.Text;
            te.CNAE = "";
            te.CNAEdescri = "";
            te.CNJ = "";
            te.CNJdescri = "";
            te.CNPJ = tb_cnpj.Text;
            te.complemento = tb_complemento.Text;
            te.contato = tb_contato.Text;
            te.desconto = 0;
            te.dt_abertura = new DateTime(1901,1,1);
            te.dt_reg = DateTime.Now;
            te.endereco = tb_logradouro.Text;
            te.fantasia = tb_fantasia.Text;
            te.numero = tb_numero.Text;
            te.RS = tb_rs.Text;
            te.situacao = "";
            te.UF = tb_uf.Text;
            te.url = tb_site.Text;


            te.contato = tb_contato.Text;
            te.emailcontato = tb_emailContata.Text;
            te.emailcob = tb_emailCob.Text;
            te.telefone = tb_telcontato.Text;
            te.url = tb_site.Text;
            te.contratoTipo = Convert.ToInt16(dd_tipoCOntrato.SelectedValue.ToString());
            te.contratoQtd = Convert.ToInt64(tb_qtdcontratada.Text);
            te.contratoValor = Convert.ToDecimal(tb_valorContrato.Text);

            empresas emps = new empresas();
            tbi_emp.Text = emps.gravarEmpresaTotal(te).ToString();
            //emps.associarEmpresaUsuario(te.PK_IDemp, Convert.ToInt32(Session["IDuser"].ToString()));
            emps = null;
            lt_msgcnpj.Text = "<font color=\"green\">Dados atualizados com sucesso.</font><br />";
            carregar();

        }

        protected void gv_lista_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName.ToString() == "visualizar")
            {
                int ind = Convert.ToInt32(e.CommandArgument);
                DataKey data = gv_lista.DataKeys[ind];
                Session.Add("IDuuser", data.Values["PK_IDuser"].ToString());
                Response.Redirect("usuarios_edit.aspx?f=e", true); //?id=" + data.Values["PK_IDos"].ToString()
            }
        }
    }
}